package club.gskj.gulimall.ware.feign;

import club.gskj.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @ClassName ProductFeignService
 * @Description TODO
 * @Author 康纳
 * @Date 2021-02-07
 */

/**
 * 服务之间调用
 */
@FeignClient("gulimall-product")
public interface ProductFeignService {

    /**
     * TODO
     * 调用服务的两种方式：
     * 1. 给GateWay网关发送请求
     * 设置 @FeignClient("gulimall-gateway") 网关服务
     * 设置请求路径 /api/product/skuinfo/info/{skuId}
     * 这样就是 请求想通过api-网关，在路由到 指定服务进行请求
     * 2. 直接向内部服务发送请求，不经过网关处理。
     * 设置 @FeignClient("gulimall-product") 指定服务
     * 设置请求路径 /product/skuinfo/info/{skuId}
     * 这样直接可以向内部服务发送，不经过网关过滤
     *
     * @param skuId
     * @return club.gskj.common.utils.R
     * @author 康纳-connor
     * @creed: Talk is cheap,show me the code
     * @date 21.2.7 15:59
     * @Description 服务调用的两种方式
     */
    @RequestMapping("/product/skuinfo/info/{skuId}")
    public R info(@PathVariable("skuId") Long skuId);

}
